#ifndef app_app
#define app_app
#include "AApplication.h"
#include "RenderSystem.h"
#include "manager.h"
class Application: public AApplication
{
public:
	Application();
	~Application();
	Manager mgr;
	virtual void OnStart();	//Function, which call after creating the window
	virtual void OnStop();	//Function, which call before destroy the window

	virtual void OnUpdate(DWORD uiTime);	//This function will call always, when game in normal mode
	virtual void OnPause(unsigned int uiTime);	//This function will call always, when game in pause mode

	virtual void OnKeydown(unsigned char KeyCode);
	virtual void OnKeyup(unsigned char KeyCode);

	virtual void OnMouseMoveAbsolute(unsigned int uiNewX, unsigned int uiNewY); //Take absolutely coordinates of cursor
	virtual void OnMouseMoveRelative(int iX, int iY);
	virtual void OnMouseDown(unsigned int uiX, unsigned int uiY, unsigned char bButton);
	virtual void OnMouseUp(unsigned int uiX, unsigned int uiY, unsigned char bButton);
	virtual void OnMouseWheel(unsigned int uiX, unsigned int uiY, int iDelta);
	Camera			Cam;
	bool			m_fKeys[256];
};

#endif